/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package gestionedt.divers;

import gestionedt.controllers.GroupeJpaController;
import gestionedt.controllers.ModuleJpaController;
import gestionedt.controllers.PrestationJpaController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.actions.DispatchAction;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;

/**
 *
 */
public class UtilitairesAction extends DispatchAction {


    /**
     * Affiche la liste des prestations qui ne sont pas encore
     * placées sur l'emploi du temps.
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return
     * @throws java.lang.Exception
     */
    public ActionForward listerPrestNonPlacees(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        UtilitairesForm uForm = (UtilitairesForm) form;
        PrestationJpaController ctPrest = new PrestationJpaController();
        uForm.setPrestations(ctPrest.findPrestationsNonPlacees());
        
        return mapping.findForward("listePrestNonPlacees");
    }

    /**
     * Affiche la liste des modules qui ont au moins un groupe inscrit
     * qui n'est pas encore affecté à une prestation (associée au module).
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return
     * @throws java.lang.Exception
     */
    public ActionForward listerGrpNonAffectes(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        UtilitairesForm uForm = (UtilitairesForm) form;
        ModuleJpaController ctModule = new ModuleJpaController();
        uForm.setModules(ctModule.findModulesAvecGrpNonAffectes());

        return mapping.findForward("listeGrpNonAffectes");
    }

    /**
     * Affiche la liste des modules déclarés "terminés".
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return
     * @throws java.lang.Exception
     */
    public ActionForward listerModulesTerm(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        UtilitairesForm uForm = (UtilitairesForm) form;
        ModuleJpaController ctModule = new ModuleJpaController();
        uForm.setModules(ctModule.findModulesTermAvecRel());

        return mapping.findForward("listeModulesTermines");
    }

}